import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class JDBCSelectDemo {
    public static void main(String[] args) throws SQLException {
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java106?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("123456");

        Connection connection = dataSource.getConnection();

        String sql = "select * from student"; // 加限制条件等等只需要修改SQL语句
        PreparedStatement statement = connection.prepareStatement(sql);

        //结果集合
        ResultSet resultSet = statement.executeQuery();
        while (resultSet.next()) {   //遍历结果
            // 我们如果想要取得某一条记录，就要使用ResultSet的next()方法 ,如果我们想要得到ResultSet里的所有记录，就应该使用while循环
            // next 相当于移动一个光标，光标指向下一行，然后移动到结尾，就返回false
            // 使用 getXXX方法获取到每一列
            // 获取 int，就使用getInt，获取String，使用 getString。。。
            // 这里的参数就是数据库的列名
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            System.out.println(id + ": " + name);
        }

        // 释放资源
        resultSet.close();
        statement.close();
        connection.close();
    }
}
